xen.git
18 years agox86-64: clear DF for kernel when forwarding syscall.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 10:44:13 +0000 (11:44 +0100)]
x86-64: clear DF for kernel when forwarding syscall.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86-64: bump STACK_SIZE to 32 so that trampoline and IST stacks fit
kfraser@localhost.localdomain [Tue, 3 Jul 2007 10:41:25 +0000 (11:41 +0100)]
x86-64: bump STACK_SIZE to 32 so that trampoline and IST stacks fit
without undue squeezing.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agoxen: Fix kexec_crash_area reservation/allocation.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 10:24:40 +0000 (11:24 +0100)]
xen: Fix kexec_crash_area reservation/allocation.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agomerge
Ian Campbell [Tue, 3 Jul 2007 09:31:13 +0000 (10:31 +0100)]
merge

18 years ago[32on64 kexec] Add an explicit local branch after re-enabling paging
Ian Campbell [Tue, 3 Jul 2007 09:30:15 +0000 (10:30 +0100)]
[32on64 kexec] Add an explicit local branch after re-enabling paging
in 32 bit mode.

While it doesn't appear to be strictly required the documentation
calls for it. Thanks to Edwin Zhai for bringing the omission to my
attention.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agovmx: Use per-cpu vmcs pointer to avoid unnecessary vmcs loading in
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:29:55 +0000 (10:29 +0100)]
vmx: Use per-cpu vmcs pointer to avoid unnecessary vmcs loading in
vmx_do_resume().
Signed-off-by: Eric Liu <eric.e.liu@intel.com>
18 years agoxend: Save modified scheduler params of managed guests to config.sxp.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:21:21 +0000 (10:21 +0100)]
xend: Save modified scheduler params of managed guests to config.sxp.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoxendomains: Better sanity checking of potetntial save records.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:12:22 +0000 (10:12 +0100)]
xendomains: Better sanity checking of potetntial save records.
Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>
18 years agovmxassist: Decode mov instruction in protected to real mode in vmxassist.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:08:34 +0000 (10:08 +0100)]
vmxassist: Decode mov instruction in protected to real mode in vmxassist.
Also some clean up.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agohvm: Fix keymap for Windows keys.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:06:48 +0000 (10:06 +0100)]
hvm: Fix keymap for Windows keys.
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
Signed-off-by: Junko Ichino <ichino.junko@jp.fujitsu.com>
18 years agoFix 15435:ab95b9764b20.
Ian Campbell [Mon, 2 Jul 2007 07:42:13 +0000 (08:42 +0100)]
Fix 15435:ab95b9764b20.

The changeset did not consider about ":cdrom" and "ioemu:"
of a disk definition.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoUse 32bit operand and address during VMXAssist protected to real.
Keir Fraser [Sun, 1 Jul 2007 23:24:59 +0000 (00:24 +0100)]
Use 32bit operand and address during VMXAssist protected to real.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agoxm: Fix xm block-detach error message duplication.
Keir Fraser [Sun, 1 Jul 2007 21:25:27 +0000 (22:25 +0100)]
xm: Fix xm block-detach error message duplication.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoxm: Fix a typo for xm network-detach.
Keir Fraser [Sun, 1 Jul 2007 21:23:16 +0000 (22:23 +0100)]
xm: Fix a typo for xm network-detach.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoACM: Fix a problem with the boot option parser.
Keir Fraser [Sun, 1 Jul 2007 21:21:58 +0000 (22:21 +0100)]
ACM: Fix a problem with the boot option parser.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
18 years agoMake network-bridge fail on NFS or iscsi root.
Keir Fraser [Sun, 1 Jul 2007 21:20:46 +0000 (22:20 +0100)]
Make network-bridge fail on NFS or iscsi root.
Since setting up bridging involves bringing down the network interface,
bridging clearly isn't compatible with the likes of NFS or iSCSI root.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
18 years agoRemove unused VMXAssist test code.
Keir Fraser [Sun, 1 Jul 2007 21:18:04 +0000 (22:18 +0100)]
Remove unused VMXAssist test code.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agoxendomains: Ignore 'lost+found' when finding saved dom images.
Keir Fraser [Sun, 1 Jul 2007 21:16:41 +0000 (22:16 +0100)]
xendomains: Ignore 'lost+found' when finding saved dom images.
Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>
18 years agoxend: Pass information to user when failing migrate due to PCI dev.
Keir Fraser [Sun, 1 Jul 2007 21:10:38 +0000 (22:10 +0100)]
xend: Pass information to user when failing migrate due to PCI dev.

When failing a migration / save due to the domain owning a PCI device
make sure that we tell the user what went wrong!

Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
18 years agoxend: Don't allow migrate with assigned PCI devs.
Keir Fraser [Sun, 1 Jul 2007 21:10:13 +0000 (22:10 +0100)]
xend: Don't allow migrate with assigned PCI devs.

This can potentially cause a whole machine crash, which I think has
been seen in the wild.  The case in the wild was caused by xendomains
auto-resuming domains on reboot, so it wasn't even operator error.

There's no sane way to migrate or suspend domains with PCI devs,
so I disallow it completely.

Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
18 years agoAdd a duplication definition check for devices.
Ian Campbell [Fri, 29 Jun 2007 13:38:18 +0000 (14:38 +0100)]
Add a duplication definition check for devices.

This patch adds a duplication definition check for devices.
It checks the following definitions.
 - vbd : uname and device name
 - vif : mac

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoxend: Fix irq-permissions setting during domain creation.
Keir Fraser [Thu, 28 Jun 2007 19:35:50 +0000 (20:35 +0100)]
xend: Fix irq-permissions setting during domain creation.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix fixup of invalid PTE writes, broken by 13392:0fd65225e4c6.
Ian Campbell [Thu, 28 Jun 2007 17:40:20 +0000 (18:40 +0100)]
Fix fixup of invalid PTE writes, broken by 13392:0fd65225e4c6.

By the time we test if addr is the upper word it has already been
aligned to the 8 byte pte size.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agohvm: Destroy timers early during domain death.
Keir Fraser [Wed, 27 Jun 2007 21:20:17 +0000 (22:20 +0100)]
hvm: Destroy timers early during domain death.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoMore getcpuinfo sysctl cleanup.
Keir Fraser [Wed, 27 Jun 2007 20:43:43 +0000 (21:43 +0100)]
More getcpuinfo sysctl cleanup.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoBy default allow differences between Xen and XenLinux public headers.
Keir Fraser [Wed, 27 Jun 2007 20:28:19 +0000 (21:28 +0100)]
By default allow differences between Xen and XenLinux public headers.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoSmall sysctl cleanups.
Keir Fraser [Wed, 27 Jun 2007 20:27:51 +0000 (21:27 +0100)]
Small sysctl cleanups.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoxenconsoled: improve robustness of logfile handling
Keir Fraser [Wed, 27 Jun 2007 20:05:54 +0000 (21:05 +0100)]
xenconsoled: improve robustness of logfile handling

Check the 'log_reload' on every iteration of the select() loop, not just when
select() returns EINTR. This is because the log reload signal may have
iterrupted a syscall other than select & thus without this change  we
might miss the reload signal.  The second change makes us process the
hypervisor logs on every iteration of the loop, not just upon timeouts.
This is because if a guest VM were consistently sending some log message
and < 1 second period, the select() would never hit the 1 second timeout
and thus never process the HV logs.

Thanks to Markus Armbruster for pointing out both these edge cases

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
18 years agoAdd new sysctl to return runtime information about physical CPU utilization.
Steven Hand [Wed, 27 Jun 2007 20:01:08 +0000 (21:01 +0100)]
Add new sysctl to return runtime information about physical CPU utilization.

Signed-off-by: Steven Hadn <steven@xensource.com>
18 years agovmx: Exclude VMX_PROCBASED_CTL2 from set of MSRs a VMX guest is allowd
Keir Fraser [Wed, 27 Jun 2007 19:56:25 +0000 (20:56 +0100)]
vmx: Exclude VMX_PROCBASED_CTL2 from set of MSRs a VMX guest is allowd
to access.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agovmx: Make use of VMX_INSTRUCTION_INFO field to obtain the segment
Keir Fraser [Wed, 27 Jun 2007 19:53:57 +0000 (20:53 +0100)]
vmx: Make use of VMX_INSTRUCTION_INFO field to obtain the segment
register of OUTS

Signed-off-by: Weidong Han <weidong.han@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm: Sync SVM CR4 handling with VMX.
Keir Fraser [Wed, 27 Jun 2007 19:17:54 +0000 (20:17 +0100)]
hvm: Sync SVM CR4 handling with VMX.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix VMX guest can't boot after MCE enabled.
Keir Fraser [Wed, 27 Jun 2007 19:08:21 +0000 (20:08 +0100)]
Fix VMX guest can't boot after MCE enabled.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agox86: remove unused nopaging_gdt_descr
Keir Fraser [Wed, 27 Jun 2007 19:00:50 +0000 (20:00 +0100)]
x86: remove unused nopaging_gdt_descr
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
18 years agoRemove incorrect __init prefixes
Keir Fraser [Wed, 27 Jun 2007 18:59:21 +0000 (19:59 +0100)]
Remove incorrect __init prefixes

Following functions can be __init in Linux, however shouldn't
in Xen. __print_IO_APIC is called by keyhandler, while
setup_ioapic_dest is invoked in one platform hypercall.

Signed-off-by Kevin Tian <kevin.tian@intel.com>

18 years ago[VMX] Set up GUEST_CR0 as well as CR0_READ_SHADOW when restoring saved
Tim Deegan [Tue, 26 Jun 2007 16:54:10 +0000 (17:54 +0100)]
[VMX] Set up GUEST_CR0 as well as CR0_READ_SHADOW when restoring saved
vcpus.  Also simplify the CR3 reload path.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years agoDeinitialize timers before destroying the local apic; this protects us
Steven Hand [Tue, 26 Jun 2007 11:40:37 +0000 (12:40 +0100)]
Deinitialize timers before destroying the local apic; this protects us
against a late firing timer callback function (e.g. hpet_timer_fn) which
tries to access local APIC state.

Signed-off-by: Steven Hand <steven@xensource.com>
18 years agoioemu: Fix ifdef __x86_64__
kfraser@localhost.localdomain [Mon, 25 Jun 2007 15:52:39 +0000 (16:52 +0100)]
ioemu: Fix ifdef __x86_64__
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoi386: Simplify failsafe callback handling.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 20:36:26 +0000 (21:36 +0100)]
i386: Simplify failsafe callback handling.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix x86/64 failsafe callback handling.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 17:02:50 +0000 (18:02 +0100)]
Fix x86/64 failsafe callback handling.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm svm: No guest access to SVM MSRs.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 14:17:31 +0000 (15:17 +0100)]
hvm svm: No guest access to SVM MSRs.
Signed-off-by: Mats Petersson <mats.petersson@amd.com>
18 years agox86: machine check exception handling
kfraser@localhost.localdomain [Thu, 21 Jun 2007 14:10:04 +0000 (15:10 +0100)]
x86: machine check exception handling

Properly handle MCE (connecting the exisiting, but so far unused
vendor specific handlers). HVM guests don't own CR4.MCE (and hence
can't suppress the exception) anymore, preventing silent machine
shutdown.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: clear guest's EFLAGS.RF after emulating instructions
kfraser@localhost.localdomain [Thu, 21 Jun 2007 13:03:57 +0000 (14:03 +0100)]
x86: clear guest's EFLAGS.RF after emulating instructions
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agoi386: remove NMI deferral by instead making sure selector registers
kfraser@localhost.localdomain [Thu, 21 Jun 2007 11:13:06 +0000 (12:13 +0100)]
i386: remove NMI deferral by instead making sure selector registers
are always stored/restored correctly despite the potential for an NMI
(and also MCE, with a subsequent patch) to kick in.

The idea is to always check values read from %ds and %es against
__HYPERVISOR_DS, and only store into the current frame (all normal
handlers) or the outer-most one (NMI and MCE) if the value read is
different. That way, any NMI or MCE occurring during frame setup will
store selectors not saved so far on behalf of the interrupted handler,
with that interrupted handler either having managed to read the guest
selector (in which case it can store it regardless of whether NMI/MCE
kicked in between the read and the store) or finding __HYPERVISOR_DS
already in the register, in which case it'll know not to store (as the
nested handler would have done the store).

For the restore portion this makes use of the fact that there's
exactly one such code sequence, and by moving the selector restore
part past all other restores (including all stack pointer adjustments)
the NMI/MCE handlers can safely detect whether any selector would have
been restored already (by range checking EIP) and move EIP back to the
beginning of the selector restore sequence without having to play with
the stack pointer itself or any other gpr.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agolibxenguest: Add another range check to dom restore.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 11:10:01 +0000 (12:10 +0100)]
libxenguest: Add another range check to dom restore.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agolibxenguest: Add missing range-check on count field read from a domain
kfraser@localhost.localdomain [Thu, 21 Jun 2007 08:47:39 +0000 (09:47 +0100)]
libxenguest: Add missing range-check on count field read from a domain
save/restore file.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoRename ddc_info -> vbeddc_info in interface header.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 18:31:37 +0000 (19:31 +0100)]
Rename ddc_info -> vbeddc_info in interface header.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoAdd hypercall function for retrieving EDID info
kfraser@localhost.localdomain [Wed, 20 Jun 2007 18:24:08 +0000 (19:24 +0100)]
Add hypercall function for retrieving EDID info
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoRemove stray semi-colon in macro.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 18:08:45 +0000 (19:08 +0100)]
Remove stray semi-colon in macro.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: Add hypercall function for retrieving EDD info.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 17:43:04 +0000 (18:43 +0100)]
x86: Add hypercall function for retrieving EDD info.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agotools: Adjust tools' path calculation.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 16:07:15 +0000 (17:07 +0100)]
tools: Adjust tools' path calculation.

I'm suggesting this change to make another tiny step towards the
ability to run the tools e.g. out of the build tree (so that multiple
different Xen versions can co-exist without the requirement to
re-install the respective version with each boot).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86: early exception enhancement
kfraser@localhost.localdomain [Wed, 20 Jun 2007 16:05:48 +0000 (17:05 +0100)]
x86: early exception enhancement

In order to at least have some minimal debuging capabilities when Xen
crashes really early, dump out registers and stack contents in a raw
form.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agotools: Create directory /var/lib/xen at install target.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 15:58:21 +0000 (16:58 +0100)]
tools: Create directory /var/lib/xen at install target.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agokernel command line extension
kfraser@localhost.localdomain [Wed, 20 Jun 2007 15:52:01 +0000 (16:52 +0100)]
kernel command line extension

In order to allow appending to the dom0 command line even with boot
loaders that only allow editing the kernel (i.e. Xen in our case)
command line, support a '--' separator option.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: introduce specialized clear_page()
kfraser@localhost.localdomain [Wed, 20 Jun 2007 15:18:03 +0000 (16:18 +0100)]
x86: introduce specialized clear_page()

More than doubles performance of page clearing on not too old
processors (SSE2 supported).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoUse clear_page() wherever possible/reasonable instead of open coded
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:33:14 +0000 (15:33 +0100)]
Use clear_page() wherever possible/reasonable instead of open coded
memset() calls (likewise a few replacements memcpy -> copy_page).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agoEnhance guest memory accessor macros so that source operands can be
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:29:53 +0000 (15:29 +0100)]
Enhance guest memory accessor macros so that source operands can be
pointers to const or arrays.

Only build-tested on ia64, and untested for powerpc (which, however,
is almost identical to ia64, except for an apparent bug in the original
version of __copy_field_{from,to}_guest in that the field offset was
multiplied by the field size).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86: Use 64-bit arithmetic in reserve_in_boot_e820().
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:08:32 +0000 (15:08 +0100)]
x86: Use 64-bit arithmetic in reserve_in_boot_e820().
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm/x86: vendor-specific code can call vendor-specific routines directly
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:06:17 +0000 (15:06 +0100)]
hvm/x86: vendor-specific code can call vendor-specific routines directly
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86/hvm: determine shared info format earlier.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:03:39 +0000 (15:03 +0100)]
x86/hvm: determine shared info format earlier.

Latch guest shared info format when hypercall page is being set up
rather than during an arbitrarily selected hypercall.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: fix early option scanning
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:57:49 +0000 (14:57 +0100)]
x86: fix early option scanning

Make sure command lines like
... vgaxyz vga=
... console=vga vga=
do not mistakenly ignore the vga= option due to finding 'vga' earlier
on the line.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix xm vcpu-set command for managed domains, to take effect immediately.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:43:41 +0000 (14:43 +0100)]
Fix xm vcpu-set command for managed domains, to take effect immediately.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agohvm: Ensure ioemu sees media-change events even when media filename
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:41:27 +0000 (14:41 +0100)]
hvm: Ensure ioemu sees media-change events even when media filename
remains constant my writing a dummy blank string first.
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
18 years agohvm: Fix ioemu Qcow support.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:36:11 +0000 (14:36 +0100)]
hvm: Fix ioemu Qcow support.

Normally by default, SIGUSR2 is not blocked, so the signal masks of
SIGUSR2 in all threads is unblocked.

When creating HVM guest, if we use the Qcow format image file, in the
main thread, Qcow uses SIGUSR2 to be notified of the completion of the
request after it issues an AIO request; in tools/ioemu/block.c:
bdrv_read_em(), in some point between bdrv_aio_read() and
qemu_aio_wait(), Dom0 may send a SIGUSR2 to Qemu immediately to
indicate the completion of an AIO request -- since at the moment
SIGUSR2 in main thread is blocked by qemu_aio_wait_start(), the signal
may be delivered to one non-main thread, causing the signal handler of
SIGUSR2 is invoked, then the main thread hangs in
qemu_aio_wait()->syswait()...

This patch blocks SIGUSR2 at the beginning of Qemu's main(), so it
ensures SIGUSR2 is blocked by default when a new thread is created,
then only the threads that use the signal unblock it.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
18 years ago32-on-64: First slot of hidden L4 page directory must start life as zero.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 12:39:54 +0000 (13:39 +0100)]
32-on-64: First slot of hidden L4 page directory must start life as zero.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago32-on-64: Fix error path where we fail to successfully switch a guest
kfraser@localhost.localdomain [Wed, 20 Jun 2007 12:38:48 +0000 (13:38 +0100)]
32-on-64: Fix error path where we fail to successfully switch a guest
into compat mode.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago32-on-64: Fix error path from memory_op() hypercall.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 12:38:22 +0000 (13:38 +0100)]
32-on-64: Fix error path from memory_op() hypercall.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm: Support injection of virtual NMIs and clean up ExtInt handling in general.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 10:50:16 +0000 (11:50 +0100)]
hvm: Support injection of virtual NMIs and clean up ExtInt handling in general.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago[HVM][SVM] flush all entries from guest ASIDs when xen writes CR3.
Tim Deegan [Wed, 20 Jun 2007 09:55:37 +0000 (10:55 +0100)]
[HVM][SVM] flush all entries from guest ASIDs when xen writes CR3.
This makes the assumptions about TLB flush behaviour in the page-type
system and the shadow code safe again, and fixes a corner case of NPT
log-dirty.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years agox86: retrieve VBE EDID/DDC info independent of used video mode
kfraser@localhost.localdomain [Tue, 19 Jun 2007 17:07:53 +0000 (18:07 +0100)]
x86: retrieve VBE EDID/DDC info independent of used video mode

The code to retrieve this information was protected by a check of a
variable (vbe_version) that would get initialized only when a VESA
mode was selected on the command line.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
At the same time I cleaned up use of 'scratch space' at address
modelist and beyond.

Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoblktap: Add fallback code to blktap for missing poll-on-aio support.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 15:32:28 +0000 (16:32 +0100)]
blktap: Add fallback code to blktap for missing poll-on-aio support.

blktap requires a xen specific kernel AIO ABI which has been vetoed by
upstream in favour of another approach. Rather than include this ABI,
Fedora has been carrying a patch which makes tap:aio use a thread to
poll for aio events and notify the main thread via a pipe.

The upstream approach of allowing io_getevents() poll normal file
descriptors via epoll is still progressing:
 http://lkml.org/lkml/2007/1/3/16

but when that does make it upstream, blktap will require significant
re-working to use that approach.

In the meantime, here's a patch which uses the poll-in-a-thread
approach only if AIO poll support isn't available. It also hides the
details behind a simple abstraction and makes both tap:aio and
tap:qcow use it.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
18 years agotools: Allow xendomains to handle domain names >16 characters
kfraser@localhost.localdomain [Tue, 19 Jun 2007 15:29:22 +0000 (16:29 +0100)]
tools: Allow xendomains to handle domain names >16 characters

The xendomains init script parses the output of "xm list", and
since xm list restricts the length of domains to 16 characters the
xendomain script cannot handle long domain names.

This patch makesit parse the output of "xm list -l" instead.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
18 years agoioemu: Assembler memcpy() for x86, and lowest-common-denominator
kfraser@localhost.localdomain [Tue, 19 Jun 2007 15:08:15 +0000 (16:08 +0100)]
ioemu: Assembler memcpy() for x86, and lowest-common-denominator
memcpy() function for all others, avoiding noisy longword copies on
ia64.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agotools: Fix compiler warning.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 14:55:13 +0000 (15:55 +0100)]
tools: Fix compiler warning.
From: Charles Coffing <ccoffing@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm svm: Log into 'xm dmesg' that SVM NPT is enabled.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 14:39:08 +0000 (15:39 +0100)]
hvm svm: Log into 'xm dmesg' that SVM NPT is enabled.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting
kfraser@localhost.localdomain [Tue, 19 Jun 2007 14:09:59 +0000 (15:09 +0100)]
x86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting
code, and make visible at the command line via 'vga=current'.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFurther fixes for 32on64 bit kexec.
Ian Campbell [Tue, 19 Jun 2007 14:03:55 +0000 (15:03 +0100)]
Further fixes for 32on64 bit kexec.

* switch to a suitable stack before jumping to compatibility mode.
* return the correct range for KEXEC_RANGE_MA_XEN.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agohvm: Fix deadlock in vpt.c and clean up some more.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 13:52:53 +0000 (14:52 +0100)]
hvm: Fix deadlock in vpt.c and clean up some more.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix 32on64 kexec trampoline. This was broken when Xen was modified to
Ian Campbell [Tue, 19 Jun 2007 10:06:25 +0000 (11:06 +0100)]
Fix 32on64 kexec trampoline. This was broken when Xen was modified to
physically relocate itself.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agohvm vmx: Make VMX-related MSRs invisible to the guest.
kfraser@localhost.localdomain [Mon, 18 Jun 2007 15:59:06 +0000 (16:59 +0100)]
hvm vmx: Make VMX-related MSRs invisible to the guest.
Signed-off-by: Shane Wang <shane.wang@intel.com>
18 years agox86: Code style in rdmsr_hypervisor_regs() is not consistent with
kfraser@localhost.localdomain [Mon, 18 Jun 2007 15:52:04 +0000 (16:52 +0100)]
x86: Code style in rdmsr_hypervisor_regs() is not consistent with
wrmsr_hypervisor_regs(). Sync them up.
Signed-off-by: Shane Wang <shane.wang@intel.com>
18 years agox86/64: Avoid bogus mbi pointer into relocated Xen address space.
kfraser@localhost.localdomain [Mon, 18 Jun 2007 15:48:05 +0000 (16:48 +0100)]
x86/64: Avoid bogus mbi pointer into relocated Xen address space.
Prevent similar bugs in future by poisoning the relocated bottom
megabyte.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: Boot trampoline cleanups suggested by Xin Li.
kfraser@localhost.localdomain [Mon, 18 Jun 2007 15:47:16 +0000 (16:47 +0100)]
x86: Boot trampoline cleanups suggested by Xin Li.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agodocs: Fix docs install when graphvix is not installed.
Keir Fraser [Mon, 18 Jun 2007 11:11:36 +0000 (12:11 +0100)]
docs: Fix docs install when graphvix is not installed.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoxend: Revert 15252:31ee1768e911 ("Make device detach wait for detach to complete").
Keir Fraser [Sat, 16 Jun 2007 10:18:44 +0000 (11:18 +0100)]
xend: Revert 15252:31ee1768e911 ("Make device detach wait for detach to complete").

Has a bad interaction with 12520 in destroyDevice(), where devid is
not an integer as expected.

I'm not sure which of these changesets is really the bogus one, but
this one went in later so it loses. :-)

Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoMerge with xen-ia64-unstable
Keir Fraser [Sat, 16 Jun 2007 09:42:06 +0000 (10:42 +0100)]
Merge with xen-ia64-unstable

18 years agomerge with xen-unstable.hg
Alex Williamson [Fri, 15 Jun 2007 19:33:11 +0000 (13:33 -0600)]
merge with xen-unstable.hg

18 years ago[IA64] Fix dom0vp_expose_p2m()
Alex Williamson [Fri, 15 Jun 2007 18:38:35 +0000 (12:38 -0600)]
[IA64] Fix dom0vp_expose_p2m()

It exposes one more zero p2m page

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
18 years ago[IA64] RBS is now in vcpu_guest_context_regs.
Alex Williamson [Fri, 15 Jun 2007 18:36:04 +0000 (12:36 -0600)]
[IA64] RBS is now in vcpu_guest_context_regs.

As there is not anymore local variable of type vcpu_guest_context_regs in
the hypervisor the rbs field (16KB) can be put in the structure.
Code to read/write the field added.

Signed-off-by: Tristan Gingold <tgingold@free.fr>
18 years ago[IA64] Add error checking to nvram store mkdir
Alex Williamson [Fri, 15 Jun 2007 17:34:34 +0000 (11:34 -0600)]
[IA64] Add error checking to nvram store mkdir

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
18 years ago[HVM] HAP tidying.
Tim Deegan [Fri, 15 Jun 2007 15:51:08 +0000 (16:51 +0100)]
[HVM] HAP tidying.
Tighten up locking discipline, dead/useless code and unnecessary VMEXITS.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years agokexec: Flush console on kexec_crash().
Keir Fraser [Fri, 15 Jun 2007 15:30:10 +0000 (16:30 +0100)]
kexec: Flush console on kexec_crash().
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago[IA64] Create NVRAM save directory
Alex Williamson [Fri, 15 Jun 2007 15:25:09 +0000 (09:25 -0600)]
[IA64] Create NVRAM save directory

If you use RPM to install XEN, the directory(/usr/lib/xen/boot)
will be removed when you un-install the RPM. This patch create
that directory before NVRAM file creating.

Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
18 years agohvm: Add locking to platform timers.
Keir Fraser [Fri, 15 Jun 2007 14:30:49 +0000 (15:30 +0100)]
hvm: Add locking to platform timers.
Handy for correctness.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoMake Xen headers lint-clean, and fix xs_wire.h for Solaris compiler.
Keir Fraser [Fri, 15 Jun 2007 10:50:54 +0000 (11:50 +0100)]
Make Xen headers lint-clean, and fix xs_wire.h for Solaris compiler.
Signed-off-by: John Levon <john.levon@sun.com>
Signed-off-by: Ryan Scott <ryan.scott@sun.com>
18 years agohvm: Simplify timer<->vcpu/domain conversion in RTC and PIT timer
Keir Fraser [Fri, 15 Jun 2007 09:36:31 +0000 (10:36 +0100)]
hvm: Simplify timer<->vcpu/domain conversion in RTC and PIT timer
models. These timers are always bound to vcpu0, where a specific vcpu
matters.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoxend: Replace tabs with 8 whitespaces in DevController.py
Keir Fraser [Fri, 15 Jun 2007 09:01:32 +0000 (10:01 +0100)]
xend: Replace tabs with 8 whitespaces in DevController.py
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agohvm: Fix multiplication overflow in hvm/pmtimer.c
Keir Fraser [Fri, 15 Jun 2007 08:42:39 +0000 (09:42 +0100)]
hvm: Fix multiplication overflow in hvm/pmtimer.c

Too many ACPI events (SCI) are raised on hvm because of
multiplication overflow.

FREQUENCE_PMTIMER=3579545
(1000000000ULL << 32) / FREQUENCE_PMTIMER = 0xae9a7b1663a
pmt_cycles_until_flip =~ 0x80000000
0xae9a7b1663a*0x80000000 = overflow!!!

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
18 years agoFix compile errors in PV-on-HVM drivers because of missing asm/gnttab_dma.h.
Keir Fraser [Fri, 15 Jun 2007 08:32:22 +0000 (09:32 +0100)]
Fix compile errors in PV-on-HVM drivers because of missing asm/gnttab_dma.h.
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
18 years agoUpdate Solaris balloon ioctl value
Keir Fraser [Fri, 15 Jun 2007 08:18:42 +0000 (09:18 +0100)]
Update Solaris balloon ioctl value

The balloon ioctl value should use a 32-bit value instead of a 16-bit
value to distinguish itself from other ioctls.

Signed-off-by: Ryan Scott <ryan.scott@sun.com>